package com.sky.mapper.courier;

import com.sky.dto.CourierOrderCountDTO;
import com.sky.pojo.Courier;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 骑手数据访问层
 * @author zgp
 * @version V1.0
 * @date 2025-02-09 15:44
 */
@Mapper
public interface CourierMapper {
    /**
     * 查询所有在线骑手
     * @return 骑手列表
     */
    List<Courier> selectAllOnlineCouriers();

    /**
     * 获取当前订单量最少的骑手列表
     * @param todayDateStr 日期字符串
     * @param curIds 骑手id
     * @return 骑手对应订单量列表
     */
    List<CourierOrderCountDTO> selectCouriersOrdersNum(@Param("todayDateStr") String todayDateStr, @Param("curIds") List<Long> curIds);

    /**
     * 根据骑手id查询骑手
     * @param curIds 骑手id集合
     * @return 骑手列表
     */
    List<Courier> selectByIds(@Param("curIds") List<Integer> curIds);

    /**
     * 根据手机号查询骑手
     * @param telephone 手机号
     * @return 骑手
     */
    Courier selectByTelephone(String telephone);
}
